#include"Info.h"
#include"TeleInfo.h"


#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<stdbool.h>


int main()
{
    TI* a = InitTi(5); //定义一个通讯录，并且初始化它，一开始给定五个容量
    int i = 0;

    char s1[20]= {0};
    char s2[20]= {0};

    //两个字符数组放输入的东西

    //把两个字符数组的值  赋给联系人结构体初始化
    
    do
    {
    printf("请问你想要什么功能，请输入对应的数字\n" 
         "1.想要添加一个新的联系人\n"
         "2.想要按照姓名删除一个联系人\n"
         "3.想要按照号码删除一个联系人\n"
         "4.想要按照姓名查找一个联系人\n"
         "5.想要按照号码查找一个联系人\n"
         "6.想要查看全部的联系\n"
         "7.想要按照号码排\n"
         "8.想要按照姓名排\n"
         "0.退出程序\n");

    scanf("%d",&i); 
    
    switch (i)
    {
    case 1:
        
        printf("请输入你想要添加的号码和联系人，以空格区分,请不要输入超过20位的号码以及联系人姓名\n");
        printf("先输入号码，再输入姓名\n");
        scanf("%s %s",s1,s2);
        InsertTail(a,InitIn(s1,s2));
        s1[20]= 0;
        s2[20]= 0;
        // PrintTi(a,PrintIn);
    break;
    
    case 2:
         printf("请输入你想要删除的姓名\n");
         scanf("%s",s2);
         RemoveByElement(a,s2,IsEqualByName);
         s2[20]= 0;
    break;

    case 3:
        printf("请输入你想要删除的号码\n");
         scanf("%s",s1);
         RemoveByElement(a,s1,IsEqualByNum);
         s1[20]= 0;
    break;

    case 4:
        printf("请输入你想要查找的姓名\n");
         scanf("%s",s2);
         FindByElement(a,s2,IsEqualByName);
         PrintIn(FindByElement(a,s2,IsEqualByName));
        
         s2[20]= 0;
    break;
    
    case 5:
        printf("请输入你想要查找的号码\n");
        scanf("%s",s1);
        PrintIn(FindByElement(a,s1,IsEqualByNum));
        s1[20]= 0;

    break;

    case 6:
        PrintTi(a,PrintIn);
    break;

    case 7:
    Sort(a,ByNum);//按号码
    PrintTi(a,PrintIn);

    break;
    case 8:
    Sort(a,ByName);//按号码
    PrintTi(a,PrintIn);

    break;
    
    default:
    printf("请输入正确数字！\n");

    break;

    }

    } while (i != 0);

    FreeTI(a,FreeIn);









    // InsertTail(a,InitIn("11111111111","赵一"));
    // InsertTail(a,InitIn("22222222222","钱二"));
    // InsertTail(a,InitIn("33333333333","孙三"));
    // InsertTail(a,InitIn("44444444444","李四"));


    // RemoveByElement(a,"钱二",IsEqualByName);
    
    // PrintIn(FindByElement(a,"11111111111",IsEqualByNum));
    
    // PrintTi(a,PrintIn);



    return 0;
}